package com.wicket.okrapp.biz.service.dto.res;

import com.wicket.okrapp.biz.service.dto.common.MidOrBasicDeptDirectorDto;
import com.wicket.okrapp.biz.service.dto.common.StakeholdersProblemDto;
import com.wicket.okrapp.biz.service.dto.common.WorkTaskParticipantsDto;
import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import lombok.Data;

/**
 * @desc ImplementWorkTaskStatusMsgLocSubAnalyzeComRespDto
 * @使用场景
 */
@Data
public class ImplementWorkTaskStatusMsgLocSubAnalyzeComRespDto
  extends BaseDto
  implements Serializable {

  /**
   * 高层分管领导身份人员ID
   */
  @ApiModelProperty("高层分管领导身份人员ID")
  private String deptLeaderOriginalRoleMemberId;

  /**
   * 高层分管领导账号
   */
  @ApiModelProperty("高层分管领导账号")
  private String deptLeaderUserId;

  /**
   * 高层分管领导就职记录ID
   */
  @ApiModelProperty("高层分管领导就职记录ID")
  private String deptLeaderInductionId;

  /**
   * 接收工作任务责任身份人员ID
   */
  @ApiModelProperty("接收工作任务责任身份人员ID")
  private String receiverOriginalRoleMemberId;

  /**
   * 接收工作任务责任人账号
   */
  @ApiModelProperty("接收工作任务责任人账号")
  private String receiverUserId;

  /**
   * 接收工作任务责任就职记录ID
   */
  @ApiModelProperty("接收工作任务责任就职记录ID")
  private String receiverInductionId;

  /**
   * 高层组织ID
   */
  @ApiModelProperty("高层组织ID")
  private String highOrganizationId;

  /**
   * 中基层部门ID
   */
  @ApiModelProperty("中基层部门ID")
  private String midOrBasicDeptId;

  /**
   * 上级汇报的组织ID
   */
  @ApiModelProperty("上级汇报的组织ID")
  private String supOrgIdId;

  /**
   * 上级分管领导身份人员ID
   */
  @ApiModelProperty("上级分管领导身份人员ID")
  private String supDeptLeaderOriginalRoleMemberId;

  /**
   * 上级分管领导账号
   */
  @ApiModelProperty("上级分管领导账号")
  private String supDeptLeaderUserId;

  /**
   * 上级分管领导就职记录ID
   */
  @ApiModelProperty("上级分管领导就职记录ID")
  private String supDeptLeaderInductionId;

  @ApiModelProperty("中基层主管部门列表 ")
  List<String> midOrBasicDeptList = new ArrayList<>();

  @ApiModelProperty("中基层主管部门主管人员列表")
  private List<MidOrBasicDeptDirectorDto> midOrBasicDeptDirectorList = new ArrayList<>();

  @ApiModelProperty("接收任务参与者列表")
  private List<WorkTaskParticipantsDto> workTaskParticipantsList = new ArrayList<>();

  @ApiModelProperty("工作任务所属中基层部门列表 ")
  List<String> workTaskMidOrBasicDeptList = new ArrayList<>();

  /**
   * 高层问题发起人身份人员ID
   */
  @ApiModelProperty("高层问题发起人身份人员ID")
  private String highProblemCreatorOriginalRoleMemberId;

  /**
   * 高层问题发起人账号
   */
  @ApiModelProperty("高层问题发起人账号")
  private String highProblemCreatorUserId;

  /**
   * 高层问题发起人就职记录ID
   */
  @ApiModelProperty("高层问题发起人就职记录ID")
  private String highProblemCreatorInductionId;

  /**
   * 中基层问题发起人身份人员ID
   */
  @ApiModelProperty("中基层问题发起人身份人员ID")
  private String midOrBasicProblemCreatorOriginalRoleMemberId;

  /**
   * 中基层问题发起人账号
   */
  @ApiModelProperty("中基层问题发起人账号")
  private String midOrBasicProblemCreatorUserId;

  /**
   * 中基层问题发起人就职记录ID
   */
  @ApiModelProperty("中基层问题发起人就职记录ID")
  private String midOrBasicProblemCreatorInductionId;

  /**
   * 接收问题责任人身份人员ID
   */
  @ApiModelProperty("接收问题责任人身份人员ID")
  private String problemReceiverOriginalRoleMemberId;

  /**
   * 接收问题责任人账号
   */
  @ApiModelProperty("接收问题责任人账号")
  private String problemReceiverUserId;

  /**
   * 接收问题责任人就职记录ID
   */
  @ApiModelProperty("接收问题责任人就职记录ID")
  private String problemReceiverInductionId;

  @ApiModelProperty("问题干系人")
  private List<StakeholdersProblemDto> stakeholdersProblem = new ArrayList<>();

  @ApiModelProperty("问题所属中基层部门列表 ")
  List<String> problemMidOrBasicDeptList = new ArrayList<>();

}
